ํ๋์จ์ด ์ถ์ํ ๋ฐ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ์ธ๊ณ๋ฅผ ํํํ์ธ์. ์ด์์ฑ ๋๊ณ ํจ์จ์ ์ธ ๋๋ผ์ด๋ฒ ์์ฑ์ ์ํ ์๋ฆฌ, ์ํคํ ์ฒ, ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐฐ์๋๋ค.
ํ๋์จ์ด ์ถ์ํ: ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ ์ข ํฉ ๊ฐ์ด๋
์ํํธ์จ์ด ๊ณตํ ๋ถ์ผ, ํนํ ์ด์ ์ฒด์ ๋ฐ ์๋ฒ ๋๋ ์์คํ ์์ ํ๋์จ์ด ์ถ์ํ๋ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ด๋ ์์ ์์ค ์ํํธ์จ์ด๋ฅผ ๊ธฐ๋ณธ ํ๋์จ์ด์ ๋ณต์ก์ฑ๊ณผ ๋ฏธ๋ฌํ ์ฐจ์ด๋ก๋ถํฐ ๋ณดํธํ๋ ์ค๊ฐ ๊ณ์ธต ์ญํ ์ ํฉ๋๋ค. ์ด๋ฌํ ์ถ์ํ๋ ์ฃผ๋ก ์ด์ ์ฒด์ (๋๋ ๊ธฐํ ์ํํธ์จ์ด)์ ํน์ ํ๋์จ์ด ์ฅ์น ๊ฐ์ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ํน์ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ธ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋๋ค.
ํ๋์จ์ด ์ถ์ํ๋ ๋ฌด์์ธ๊ฐ?
ํ๋์จ์ด ์ถ์ํ๋ ํ๋์จ์ด ์ฅ์น์ ๋ํ ๋จ์ํ๋๊ณ ํ์คํ๋ ์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ฅผ ํตํด ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ํ๋์จ์ด ์๋ ๋ฐฉ์์ ๋ํ ์ธ๋ถ ์ฌํญ์ ์ดํดํ ํ์ ์์ด ํ๋์จ์ด์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์ด๋ ์ํํธ์จ์ด๋ฅผ ๋ฌผ๋ฆฌ์ ํ๋์จ์ด๋ก๋ถํฐ ๋ถ๋ฆฌํ์ฌ ๊ฐ์ ๊ณ์ธต์ ์ ๊ณตํฉ๋๋ค.
์ด๋ ๊ฒ ์๊ฐํด๋ณด์ญ์์ค. ์์ง์ ๋ด๋ถ ์ฐ์ ๊ณผ์ ์ ๋ณต์ก์ฑ์ ์ ํ์ ์์ด ์๋์ฐจ๋ฅผ ์ด์ ํฉ๋๋ค. ์คํฐ์ด๋ง ํ , ํ๋ฌ, ๋์๋ณด๋๋ ์๋์ฐจ ์์ง๋์ด๊ฐ ๋ ํ์ ์์ด ์๋์ฐจ์ ๋์์ ์ ์ดํ ์ ์๋ ์ถ์์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก, ํ๋์จ์ด ์ถ์ํ๋ ์ํํธ์จ์ด๊ฐ ํ๋์จ์ด ์ฅ์น์ ์ํธ ์์ฉํ ์ ์๋ ํ์คํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํ๋์จ์ด ์ถ์ํ์ ์ค์์ฑ
ํ๋์จ์ด ์ถ์ํ๋ ๋ช ๊ฐ์ง ์ฃผ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
- ์ด์์ฑ: ํ๋์จ์ด๋ณ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ถ์ํํจ์ผ๋ก์จ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ํ๋์จ์ด ๊ตฌ์ฑ์ ๋ค๋ฅธ ํ๋ซํผ์ผ๋ก ๋ ์ฝ๊ฒ ์ด์๋ ์ ์์ต๋๋ค. ์ด๋ ํ๋์จ์ด ๊ฐ๋ณ์ฑ์ด ํํ ์๋ฒ ๋๋ ์์คํ ์์ ํนํ ์ค์ํฉ๋๋ค.
- ์ ์ง๋ณด์์ฑ: ์ถ์ํ ๊ณ์ธต์ด ์ผ๊ด์ฑ์ ์ ์งํ๋ ํ, ๊ธฐ๋ณธ ํ๋์จ์ด ๋ณ๊ฒฝ์ด ๋ฐ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ํํธ์จ์ด ๋ณ๊ฒฝ์ ํ์๋ก ํ์ง๋ ์์ต๋๋ค. ์ด๋ ์ ์ง๋ณด์๋ฅผ ๋จ์ํํ๊ณ ๋ฒ๊ทธ ๋ฐ์ ์ํ์ ์ค์ ๋๋ค.
- ์ฌ์ฌ์ฉ์ฑ: ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฌ์ฉ๋ ์ ์์ด ๊ฐ๋ฐ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ์ค์ ๋๋ค. ์ ์ค๊ณ๋ ๋๋ผ์ด๋ฒ๋ ์๋ก์ด ๊ธฐ๋ฅ์ด๋ ์ฅ์น๋ฅผ ์ง์ํ๋๋ก ์ฝ๊ฒ ์ ์ฉ๋ ์ ์์ต๋๋ค.
- ๋ณด์: ํ๋์จ์ด ์ถ์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์จ์ด ๋ฆฌ์์ค์ ๋ํ ์ง์ ์ก์ธ์ค๋ก๋ถํฐ ๊ฒฉ๋ฆฌํ์ฌ ๋ณด์์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ด๋ ์ ์ฑ ์ฝ๋๊ฐ ํ๋์จ์ด ์ทจ์ฝ์ ์ ์ ์ฉํ๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
- ๋จ์ํ: ํ๋์จ์ด์ ๋ํ ์ผ๊ด๋๊ณ ์์ธก ๊ฐ๋ฅํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํฉ๋๋ค. ๊ฐ๋ฐ์๋ ํ๋์จ์ด์ ๋ณต์ก์ฑ๋ณด๋ค๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ์ง์คํ ์ ์์ต๋๋ค.
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ: ํ๋์จ์ด ์ถ์ํ์ ํต์ฌ
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ ํ๋์จ์ด ์ถ์ํ๋ฅผ ๊ตฌํํ๋ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ ๋๋ค. ์ด๋ค์ ์ผ๋ฐ์ ์ธ ์ํํธ์จ์ด ์์ฒญ์ ํ๋์จ์ด๋ณ ๋ช ๋ น์ผ๋ก ๋ณํํ๊ณ ๊ทธ ๋ฐ๋๋ก๋ ์๋ํ๋ ๋ฒ์ญ๊ธฐ ์ญํ ์ ํฉ๋๋ค. ๋๋ผ์ด๋ฒ๋ ํน์ ์ฅ์น์ ํต์ ํ๋ ๋ฐ ํ์ํ ํน์ ํ๋กํ ์ฝ๊ณผ ์ธํฐํ์ด์ค๋ฅผ ์ดํดํฉ๋๋ค.
๋ณธ์ง์ ์ผ๋ก ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ ์ด์ ์ฒด์ ๊ฐ ํ๋์จ์ด ์ฅ์น์ ์ํธ ์์ฉํ ์ ์๋๋ก ํ๋ ์ํํธ์จ์ด์ ๋๋ค. ๋๋ผ์ด๋ฒ๊ฐ ์์ผ๋ฉด ์ด์ ์ฒด์ ๋ ์ฅ์น์ "๋ํ"ํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ณ ์ฅ์น๋ ์๋ํ์ง ์์ต๋๋ค.
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ์ ํ
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ ๋ค์์ ํฌํจํ ์ฌ๋ฌ ๊ธฐ์ค์ ๋ฐ๋ผ ๋ถ๋ฅ๋ ์ ์์ต๋๋ค:
- ์ปค๋ ๋ชจ๋ vs. ์ฌ์ฉ์ ๋ชจ๋: ์ปค๋ ๋ชจ๋ ๋๋ผ์ด๋ฒ๋ ํน๊ถ์ด ์๋ ์ปค๋ ๊ณต๊ฐ์์ ์คํ๋์ด ํ๋์จ์ด ๋ฆฌ์์ค์ ์ง์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ๋ชจ๋ ๋๋ผ์ด๋ฒ๋ ๋ ํน๊ถ์ด ์๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ๋๋ฉฐ ํ๋์จ์ด์ ์ก์ธ์คํ๋ ค๋ฉด ์ปค๋์ ์์กดํด์ผ ํฉ๋๋ค. ์ปค๋ ๋ชจ๋ ๋๋ผ์ด๋ฒ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฑ๋ฅ์ด ๋ ์ข์ง๋ง ์ค๋ฅ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ์์คํ ์์ ์ฑ์ ๋ ํฐ ์ํ์ ์ด๋ํฉ๋๋ค.
- ๋ฌธ์ vs. ๋ธ๋ก: ๋ฌธ์ ๋๋ผ์ด๋ฒ๋ ์ฅ์น์ ๋ฐ์ดํธ ์คํธ๋ฆผ์ผ๋ก ์ก์ธ์คํฉ๋๋ค(์: ์ง๋ ฌ ํฌํธ, ํค๋ณด๋). ๋ธ๋ก ๋๋ผ์ด๋ฒ๋ ์ฅ์น์ ๋ฐ์ดํฐ ๋ธ๋ก์ผ๋ก ์ก์ธ์คํฉ๋๋ค(์: ํ๋ ๋๋ผ์ด๋ธ, ์๋ฆฌ๋ ์คํ ์ดํธ ๋๋ผ์ด๋ธ).
- ๊ฐ์ vs. ๋ฌผ๋ฆฌ: ๋ฌผ๋ฆฌ ๋๋ผ์ด๋ฒ๋ ๋ฌผ๋ฆฌ์ ํ๋์จ์ด ์ฅ์น์ ์ง์ ์ํธ ์์ฉํฉ๋๋ค. ๊ฐ์ ๋๋ผ์ด๋ฒ๋ ์ํํธ์จ์ด์์ ํ๋์จ์ด ์ฅ์น๋ฅผ ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค(์: ๊ฐ์ ๋คํธ์ํฌ ์ด๋ํฐ, ๊ฐ์ ํ๋ฆฐํฐ).
๋ค์์ ๋๋ผ์ด๋ฒ ์ ํ์ ์์ฝํ ํ์ ๋๋ค:
| ๋๋ผ์ด๋ฒ ์ ํ | ์ค๋ช | ์์ |
|---|---|---|
| ์ปค๋ ๋ชจ๋ | ์ปค๋ ๊ณต๊ฐ์์ ์คํ; ํ๋์จ์ด ์ง์ ์ก์ธ์ค. | ๊ทธ๋ํฝ ์นด๋ ๋๋ผ์ด๋ฒ, ๋์คํฌ ๋๋ผ์ด๋ฒ |
| ์ฌ์ฉ์ ๋ชจ๋ | ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ; ํ๋์จ์ด ์ก์ธ์ค๋ฅผ ์ํด ์ปค๋์ ์์กด. | ํ๋ฆฐํฐ ๋๋ผ์ด๋ฒ (์ผ๋ถ), USB ์ฅ์น ๋๋ผ์ด๋ฒ |
| ๋ฌธ์ | ๋ฐ์ดํธ ์คํธ๋ฆผ์ผ๋ก ์ก์ธ์ค ์ ๊ณต. | ์ง๋ ฌ ํฌํธ ๋๋ผ์ด๋ฒ, ํค๋ณด๋ ๋๋ผ์ด๋ฒ |
| ๋ธ๋ก | ๋ฐ์ดํฐ ๋ธ๋ก์ผ๋ก ์ก์ธ์ค ์ ๊ณต. | ํ๋ ๋๋ผ์ด๋ธ ๋๋ผ์ด๋ฒ, SSD ๋๋ผ์ด๋ฒ |
| ๊ฐ์ | ์ํํธ์จ์ด์์ ํ๋์จ์ด ์ฅ์น ์๋ฎฌ๋ ์ด์ . | ๊ฐ์ ๋คํธ์ํฌ ์ด๋ํฐ, ๊ฐ์ ํ๋ฆฐํฐ ๋๋ผ์ด๋ฒ |
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ์ํคํ ์ฒ
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ์ ์ํคํ ์ฒ๋ ์ด์ ์ฒด์ ๋ฐ ์ฅ์น ์ ํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ถ๋ถ์ ๋๋ผ์ด๋ฒ๋ ๋ช ๊ฐ์ง ๊ณตํต ๊ตฌ์ฑ ์์๋ฅผ ๊ณต์ ํฉ๋๋ค:
- ์ด๊ธฐํ: ์ฅ์น๋ฅผ ์ด๊ธฐํํ๊ณ ๋ฆฌ์์ค๋ฅผ ํ ๋นํฉ๋๋ค.
- ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ: ์ฅ์น์์ ์์ฑ๋ ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ์ก: ์ฅ์น์ ์ด์ ์ฒด์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค.
- ์ค๋ฅ ์ฒ๋ฆฌ: ์ค๋ฅ๋ฅผ ๊ฐ์งํ๊ณ ์ฒ๋ฆฌํฉ๋๋ค.
- ์ ์ ๊ด๋ฆฌ: ์ฅ์น์ ์ ๋ ฅ ์๋น๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- ์ธ๋ก๋: ๋ฆฌ์์ค๋ฅผ ํด์ ํ๊ณ ์ฅ์น๋ฅผ ์ข ๋ฃํฉ๋๋ค.
๋ค์ํ ์ด์ ์ฒด์ ๋ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ์ํ ๋ค์ํ ํ๋ ์์ํฌ์ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
- Windows ๋๋ผ์ด๋ฒ ๋ชจ๋ธ (WDM): Windows ์ด์ ์ฒด์ ์ ํ์ค ๋๋ผ์ด๋ฒ ๋ชจ๋ธ์ ๋๋ค. WDM ๋๋ผ์ด๋ฒ๋ ๊ณ์ธตํ ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ๊ณตํต API ์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Linux ์ปค๋ ๋๋ผ์ด๋ฒ: Linux ๋๋ผ์ด๋ฒ๋ ์ปค๋์ ์ง์ ํตํฉ๋๋ฉฐ ์ปค๋ API ์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. Linux ์ปค๋์ ํ๋ถํ ๊ธฐ๋ฅ๊ณผ ์ ์ฐํ ๋๋ผ์ด๋ฒ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค.
- macOS I/O ํคํธ: macOS ์ด์ ์ฒด์ ์ ๋๋ผ์ด๋ฒ ํ๋ ์์ํฌ์ ๋๋ค. I/O ํคํธ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ๋์ ์์ค์ ์ถ์ํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Android ํ๋์จ์ด ์ถ์ํ ๊ณ์ธต (HAL): Android๋ HAL์ ์ฌ์ฉํ์ฌ ํ๋์จ์ด๋ณ ์ธ๋ถ ์ ๋ณด๋ฅผ Android ํ๋ ์์ํฌ์์ ์ถ์ํํฉ๋๋ค. HAL์ ํ๋์จ์ด ๊ณต๊ธ์ ์ฒด๊ฐ ๊ตฌํํด์ผ ํ๋ ํ์ค ์ธํฐํ์ด์ค๋ฅผ ์ ์ํฉ๋๋ค.
ํ๋์จ์ด ์ถ์ํ ๊ณ์ธต (HAL)
ํ๋์จ์ด ์ถ์ํ ๊ณ์ธต(HAL)์ ์ด์ ์ฒด์ ์ปค๋๊ณผ ํ๋์จ์ด ์ฌ์ด์ ์์นํ๋ ํน์ ์ ํ์ ํ๋์จ์ด ์ถ์ํ์ ๋๋ค. ์ฃผ๋ ๋ชฉ์ ์ ์ด์ ์ฒด์ ๋ฅผ ํ๋์จ์ด๋ณ ์ธ๋ถ ์ ๋ณด๋ก๋ถํฐ ๊ฒฉ๋ฆฌํ์ฌ ์ด์ ์ฒด์ ๋ฅผ ๋ค๋ฅธ ํ๋ซํผ์ผ๋ก ์ด์ํ๋ ๊ฒ์ ๋ ์ฝ๊ฒ ๋ง๋๋ ๊ฒ์ ๋๋ค.
HAL์ ์ผ๋ฐ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ, ์ธํฐ๋ฝํธ ๋ฐ I/O ํฌํธ์ ๊ฐ์ ํ๋์จ์ด ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ ํจ์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ฌํ ํจ์๋ ํ๋์จ์ด๋ณ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋์ง๋ง ์ด์ ์ฒด์ ์ ์ผ๊ด๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
HAL์ ๋ฒ์ญ ๊ณ์ธต์ผ๋ก ์๊ฐํด๋ณด์ญ์์ค. ์ด์ ์ฒด์ ๋ ์ผ๋ฐ์ ์ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ๊ณ , HAL์ ๊ทธ ์ธ์ด๋ฅผ ํ๋์จ์ด๊ฐ ์ดํดํ๋ ํน์ ๋ช ๋ น์ผ๋ก ๋ฒ์ญํ๋ฉฐ, ๊ทธ ๋ฐ๋๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์์: Linux๋ฅผ ์คํํ๋ ์๋ฒ ๋๋ ์์คํ ์ ๊ณ ๋ คํด ๋ณด์ญ์์ค. ์ฝ์ด Linux ์ปค๋์ ARM, x86, PowerPC ๋ฑ ๋ค์ํ ํ๋ก์ธ์ ์ํคํ ์ฒ์์ ์๋ํด์ผ ํฉ๋๋ค. ๊ฐ ์ํคํ ์ฒ์ ๋ํ HAL์ ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ, ์ธํฐ๋ฝํธ ์ปจํธ๋กค๋ฌ ๋ฐ ๊ธฐํ ์ฃผ์ ํ๋์จ์ด ๊ตฌ์ฑ ์์์ ์ก์ธ์คํ๋ ๋ฐ ํ์ํ ์ ์์ค ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋์ผํ Linux ์ปค๋ ์ฝ๋๊ฐ ์์ ์์ด ๋ค๋ฅธ ํ๋์จ์ด ํ๋ซํผ์์ ์คํ๋ ์ ์์ต๋๋ค.
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ ํ๋ก์ธ์ค
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ ํ๋์จ์ด์ ์ํํธ์จ์ด ๋ชจ๋์ ๋ํ ๊น์ ์ดํด๊ฐ ํ์ํ ๋ณต์กํ๊ณ ์ด๋ ค์ด ์์ ์ ๋๋ค. ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค:
- ํ๋์จ์ด ์ฌ์: ํ๋์จ์ด ์ฌ์์ ์ดํดํ๋ ๊ฒ์ด ์ฒซ ๋ฒ์งธ์ด์ ๊ฐ์ฅ ์ค์ํ ๋จ๊ณ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ฅ์น์ ๋ ์ง์คํฐ, ๋ฉ๋ชจ๋ฆฌ ๋งต, ์ธํฐ๋ฝํธ ๋ผ์ธ ๋ฐ ํต์ ํ๋กํ ์ฝ ์ดํด๊ฐ ํฌํจ๋ฉ๋๋ค.
- ๋๋ผ์ด๋ฒ ์ค๊ณ: ๋๋ผ์ด๋ฒ์ ์ง์ ์ , ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ํฌํจํ ๋๋ผ์ด๋ฒ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํฉ๋๋ค. ์ฑ๋ฅ, ๋ณด์ ๋ฐ ์์ ์ฑ์ ๋ํ ์ ์คํ ๊ณ ๋ ค๊ฐ ํ์ํฉ๋๋ค.
- ์ฝ๋ฉ: ์ ํฉํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(์: C, C++)๋ก ๋๋ผ์ด๋ฒ ์ฝ๋๋ฅผ ๊ตฌํํฉ๋๋ค. ์ฝ๋ฉ ํ์ค ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก ์ค์๊ฐ ํ์์ ์ ๋๋ค.
- ํ ์คํธ: ๋๋ผ์ด๋ฒ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๊ณ ๋ฒ๊ทธ๋ฅผ ๋ฐ์์ํค์ง ์๋์ง ์ฒ ์ ํ ํ ์คํธํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ ๋ฐ ์์คํ ํ ์คํธ๊ฐ ํฌํจ๋ฉ๋๋ค.
- ๋๋ฒ๊น : ํ ์คํธ ์ค์ ๋ฐ๊ฒฌ๋ ๋ฒ๊ทธ๋ฅผ ์๋ณํ๊ณ ์์ ํฉ๋๋ค. ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๋๋ฒ๊น ์ ์ข ์ข ํน์ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์ ํ์๋ก ํ๋ฏ๋ก ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ๋ฐฐํฌ: ๋๋ผ์ด๋ฒ๋ฅผ ๋์ ์์คํ ์ ๋ฐฐํฌํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋๋ผ์ด๋ฒ๋ฅผ ์๋์ผ๋ก ์ค์นํ๊ฑฐ๋ ๋๋ผ์ด๋ฒ ์ค์น ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ์ ์ง๋ณด์: ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ณ , ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ , ์๋ก์ด ํ๋์จ์ด๋ฅผ ์ง์ํ๊ธฐ ์ํด ๋๋ผ์ด๋ฒ๋ฅผ ์ ์ง๋ณด์ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋๋ผ์ด๋ฒ์ ์ ๋ฒ์ ์ ์ถ์ํ๋ ๊ฒ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๊ฐ ๊ฒฌ๊ณ ํ๊ณ ์์ ์ ์ด๋ฉฐ ์ ์ง๋ณด์ ๊ฐ๋ฅํ๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค:
- ํ๋์จ์ด ์ดํด: ๊ฐ๋ฐ์ ์์ํ๊ธฐ ์ ์ ํ๋์จ์ด ์ฌ์์ ์ฒ ์ ํ ์ดํดํฉ๋๋ค.
- ์ฝ๋ฉ ํ์ค ์ค์: ์ฝ๋ฉ ํ์ค ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํฉ๋๋ค.
- ์ ์ ๋ถ์ ๋๊ตฌ ์ฌ์ฉ: ์ ์ฌ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ฒ ์ ํ ํ ์คํธ: ๋๋ผ์ด๋ฒ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ์ฒ ์ ํ ํ ์คํธํฉ๋๋ค.
- ์ฐ์ํ ์ค๋ฅ ์ฒ๋ฆฌ: ์ค๋ฅ๋ฅผ ์ฐ์ํ๊ฒ ์ฒ๋ฆฌํ๊ณ ์ ์ตํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ณด์ ์ทจ์ฝ์ ๋ฐฉ์ด: ์ทจ์ฝ์ ์ผ๋ก๋ถํฐ ๋ณดํธํ๊ธฐ ์ํ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํฉ๋๋ค.
- ์ฑ๋ฅ ์ต์ ํ: ์ค๋ฒํค๋๋ฅผ ์ต์ํํ๊ธฐ ์ํด ๋๋ผ์ด๋ฒ ์ฑ๋ฅ์ ์ต์ ํํฉ๋๋ค.
- ์ฝ๋ ๋ฌธ์ํ: ์ฝ๋๋ฅผ ์ดํดํ๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ฝ๊ฒ ์ฒ ์ ํ ๋ฌธ์ํํฉ๋๋ค.
- ๋ฒ์ ๊ด๋ฆฌ ์ฌ์ฉ: ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๊ธฐ ์ํด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ๊ณผ์
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ๋ก ๊ฐ๋ํฉ๋๋ค:
- ๋ณต์ก์ฑ: ๋ณต์กํ ํ๋์จ์ด ์ฌ์ ๋ฐ ์ ์์ค ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ์ดํด.
- ๋๋ฒ๊น : ์ปค๋ ํ๊ฒฝ์์ ๋๋ผ์ด๋ฒ๋ฅผ ๋๋ฒ๊น ํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ผ๋ฉฐ, ์ข ์ข ํน์ ๋๋ฒ๊น ๋๊ตฌ ๋ฐ ๊ธฐ์ ์ ํ์๋ก ํฉ๋๋ค.
- ๋ณด์: ๋๋ผ์ด๋ฒ๋ ํน๊ถ ์์ค์์ ์๋ํ๋ฏ๋ก ์ ์ฑ ์ฝ๋์ ์ฃผ์ ํ์ ์ด ๋ฉ๋๋ค. ๋๋ผ์ด๋ฒ์ ๋ณด์ ์ทจ์ฝ์ ์ ์ฌ๊ฐํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค.
- ํ๋์จ์ด ๊ฐ๋ณ์ฑ: ๋ค์ํ ๊ณต๊ธ์ ์ฒด ๋ฐ ํ๋ซํผ์ ๊ฑธ์ณ ํ๋์จ์ด ๊ตฌํ์ ๋ณํ๋ฅผ ๋ค๋ฃจ๋ ๊ฒ.
- ์ด์ ์ฒด์ ์ ๋ฐ์ดํธ: ์ด์ ์ฒด์ ์ ๋ฐ์ดํธ ๋ฐ ์๋ก์ด ์ปค๋ ๋ฒ์ ๊ณผ์ ํธํ์ฑ ์ ์ง.
- ์ค์๊ฐ ์ ์ฝ: ํน์ ์ฅ์น์ ๋ํ ์ค์๊ฐ ์ฑ๋ฅ ์๊ตฌ ์ฌํญ ์ถฉ์กฑ.
- ๋์์ฑ: ์ฌ๋ฌ ์ค๋ ๋ ๋๋ ํ๋ก์ธ์ค์์ ํ๋์จ์ด ๋ฆฌ์์ค์ ๋ํ ๋์ ์ก์ธ์ค ๊ด๋ฆฌ.
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ์ํ ๋๊ตฌ ๋ฐ ๊ธฐ์
์ฌ๋ฌ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์ด ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ๋์์ด ๋ ์ ์์ต๋๋ค:
- ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ (IDE): Visual Studio, Eclipse ๋ฐ ๊ธฐํ IDE๋ ๋๋ผ์ด๋ฒ ์ฝ๋ฉ, ๋๋ฒ๊น ๋ฐ ํ ์คํธ๋ฅผ ์ํ ํฌ๊ด์ ์ธ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
- ๋๋ฒ๊ฑฐ: ์ปค๋ ๋๋ฒ๊ฑฐ(์: WinDbg, GDB)๋ ๊ฐ๋ฐ์๊ฐ ๋๋ผ์ด๋ฒ ์ฝ๋๋ฅผ ๋จ๊ณ๋ณ๋ก ์คํํ๊ณ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ๋ ์ง์คํฐ๋ฅผ ๊ฒ์ฌํ ์ ์๋๋ก ํฉ๋๋ค.
- ์ ์ ๋ถ์ ๋๊ตฌ: ์ ์ ๋ถ์ ๋๊ตฌ(์: Coverity, PVS-Studio)๋ ๋๋ผ์ด๋ฒ ์ฝ๋์ ์ ์ฌ์ ๋ฒ๊ทธ ๋ฐ ๋ณด์ ์ทจ์ฝ์ ์ ์๋ณํ ์ ์์ต๋๋ค.
- ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ ํคํธ (DDK): DDK(Windows์์๋ WDK๋ผ๊ณ ๋ ํจ)๋ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ฅผ ๋น๋ํ๊ธฐ ์ํ ํค๋ ํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํ๋์จ์ด ์๋ฎฌ๋ ์ดํฐ ๋ฐ ์๋ฎฌ๋ ์ดํฐ: ํ๋์จ์ด ์๋ฎฌ๋ ์ดํฐ ๋ฐ ์๋ฎฌ๋ ์ดํฐ๋ ๋ฌผ๋ฆฌ์ ํ๋์จ์ด ์์ด ๋๋ผ์ด๋ฒ๋ฅผ ํ ์คํธํ ์ ์๋๋ก ํฉ๋๋ค.
- ๊ฐ์ ๋จธ์ : ๊ฐ์ ๋จธ์ ์ ๋๋ผ์ด๋ฒ ํ ์คํธ๋ฅผ ์ํ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
ํ๋์จ์ด ์ถ์ํ์ ๋ฏธ๋
ํ๋์จ์ด ์ถ์ํ๋ ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ๊ธฐ์ ์ ๋ฐ์ ๊ณผ ํจ๊ป ๊ณ์ ์งํํ๊ณ ์์ต๋๋ค. ๋ช ๊ฐ์ง ์ฃผ์ ํธ๋ ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํ์คํ๋ ํ๋์จ์ด ์ธํฐํ์ด์ค: USB, PCIe, I2C์ ๊ฐ์ ํ์คํ๋ ํ๋์จ์ด ์ธํฐํ์ด์ค ์ฑํ์ ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ๋จ์ํํ๊ณ ์ด์์ฑ์ ํฅ์์ํต๋๋ค.
- ๊ณ ์์ค ์ถ์ํ ๊ณ์ธต: HAL ๋ฐ ์ฅ์น ํธ๋ฆฌ ์ค๋ช ๊ณผ ๊ฐ์ ๊ณ ์์ค ์ถ์ํ ๊ณ์ธต ๊ฐ๋ฐ์ ๋๋ผ์ด๋ฒ์ ํ์ํ ํ๋์จ์ด๋ณ ์ฝ๋ ์์ ์ค์ ๋๋ค.
- ์๋ํ๋ ๋๋ผ์ด๋ฒ ์์ฑ: ์๋ํ๋ ๋๋ผ์ด๋ฒ ์์ฑ ๋๊ตฌ์ ์ฌ์ฉ์ ๊ฐ๋ฐ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ์ค์ผ ์ ์์ต๋๋ค.
- ํ์ ๊ฒ์ฆ: ํ์ ๊ฒ์ฆ ๊ธฐ์ ์ ์ฉ์ ๋๋ผ์ด๋ฒ๊ฐ ์ ํํ๊ณ ์์ ํ์ง ํ์ธํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ์คํ ์์ค ๋๋ผ์ด๋ฒ: ์คํ ์์ค ๋๋ผ์ด๋ฒ์ ์ธ๊ธฐ ์ฆ๊ฐ๋ ํ์ ๊ณผ ์ฝ๋ ์ฌ์ฌ์ฉ์ ์ด์งํฉ๋๋ค.
- ๋๋ผ์ด๋ฒ๋ฆฌ์ค ์ํคํ ์ฒ: ์ผ๋ถ ์ต์ ํ๋์จ์ด ์ค๊ณ๋ ํ๋์จ์ด ์์ฒด๊ฐ ์ ์์ค ์ธ๋ถ ์ฌํญ์ ๋ ๋ง์ด ์ฒ๋ฆฌํ์ฌ ๋ณต์กํ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ์ ํ์์ฑ์ ์ค์ด๋ "๋๋ผ์ด๋ฒ๋ฆฌ์ค" ์ํคํ ์ฒ๋ก ๋์๊ฐ๊ณ ์์ต๋๋ค. ์ด๋ ์๋ฒ ๋๋ ๋น์ ๋ฐ AI ๊ฐ์๊ธฐ์ ๊ฐ์ ๋ถ์ผ์์ ํนํ ์ค์ํฉ๋๋ค.
๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ๊ตญ์ ์ ๊ณ ๋ ค ์ฌํญ
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ๋ฅผ ๊ฐ๋ฐํ ๋, ๊ตญ์ ํ(i18n) ๋ฐ ํ์งํ(l10n) ์ธก๋ฉด์ ๊ณ ๋ คํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค:
- ๋ฌธ์ ์ธ์ฝ๋ฉ: ๋ค์ํ ์ธ์ด์ ๋ฌธ์๋ฅผ ์ง์ํ๊ธฐ ์ํด ์ ๋์ฝ๋(UTF-8)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๋ ์ง ๋ฐ ์๊ฐ ํ์: ์ฌ์ฉ์์ ๋ก์ผ์ผ์ ๋ฐ๋ผ ๋ ์ง ๋ฐ ์๊ฐ ํ์์ ์ฒ๋ฆฌํฉ๋๋ค.
- ์ซ์ ํ์: ๋ก์ผ์ผ๋ณ ์ซ์ ํ์(์: ์์ ๊ตฌ๋ถ ๊ธฐํธ, ์ฒ ๋จ์ ๊ตฌ๋ถ ๊ธฐํธ)์ ์ฌ์ฉํฉ๋๋ค.
- ํ ์คํธ ๋ฐฉํฅ: ์๋์ด ๋ฐ ํ๋ธ๋ฆฌ์ด์ ๊ฐ์ ์ธ์ด์ ๋ํด ์ค๋ฅธ์ชฝ-์ผ์ชฝ(RTL) ํ ์คํธ ๋ฐฉํฅ์ ์ง์ํฉ๋๋ค.
- ๋ฌธ์์ด ํ์งํ: ์ฌ์ฉ์์๊ฒ ํ์๋๋ ๋ชจ๋ ๋ฌธ์์ด์ ๋ค๋ฅธ ์ธ์ด๋ก ํ์งํํฉ๋๋ค.
- ์ง์ญ ์ค์ : ํตํ ๊ธฐํธ ๋ฐ ์ธก์ ๋จ์์ ๊ฐ์ ์ง์ญ ์ค์ ์ ์กด์คํฉ๋๋ค.
์์: ์์คํ ์ ๋ณด๋ฅผ ํ์ํ๋ ๋๋ผ์ด๋ฒ๋ ๋ฏธ๊ตญ์์๋ MM/DD/YYYY, ๋ง์ ์ ๋ฝ ๊ตญ๊ฐ์์๋ DD/MM/YYYY์ ๊ฐ์ด ์ฌ์ฉ์๊ฐ ์ ํธํ๋ ํ์์ผ๋ก ๋ ์ง์ ์๊ฐ์ ํ์ํด์ผ ํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๋๋ผ์ด๋ฒ๋ ์ฌ์ฉ์์ ์์น์ ๋ฐ๋ผ ์ ์ ํ ํตํ ๊ธฐํธ(์: $, โฌ, ยฅ)๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ฒฐ๋ก
ํ๋์จ์ด ์ถ์ํ ๋ฐ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ํ๋ ์ด์ ์ฒด์ ๋ฐ ์๋ฒ ๋๋ ์์คํ ์ ๊ทผ๋ณธ์ ์ธ ์ธก๋ฉด์ ๋๋ค. ํ๋์จ์ด์ ํ์คํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ํ๋์จ์ด ์ถ์ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋จ์ํํ๊ณ , ์ด์์ฑ์ ํฅ์์ํค๋ฉฐ, ๋ณด์์ ๊ฐํํฉ๋๋ค. ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ์ด๋ ค์ธ ์ ์์ง๋ง, ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๊ณ ์ ์ ํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ผ์ด๋ฒ๊ฐ ๊ฒฌ๊ณ ํ๊ณ ์์ ์ ์ด๋ฉฐ ์ ์ง๋ณด์ ๊ฐ๋ฅํ๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค. ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ๊ธฐ์ ์ด ๊ณ์ ๋ฐ์ ํจ์ ๋ฐ๋ผ, ํ๋์จ์ด ์ถ์ํ๋ ํ์ ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ฃผ๋ํ๋ ๋ฐ ์ ์ ๋ ์ค์ํ ์ญํ ์ ํ ๊ฒ์ ๋๋ค.